Methods, systems, and computer program products for implementing interactive control of radio and other media

ABSTRACT

A method for presenting content to a user through a content management device. The method includes receiving at a content management device content from a plurality of content providers. The content management device generates a supplemental programming data from the content providers. The content management device receives guide programming data from a content-independent programming data source. The content management device generates an interactive program guide in response to the supplemental programming data and the guide programming data, the interactive program guide presenting content available to the user.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation application of U.S. non-provisionalapplication Ser. No. 11/523,955, filed Sep. 20, 2006, the contents ofwhich are incorporated by reference herein, which is acontinuation-in-part application of U.S. non-provisional applicationSer. No. 10/958,813, filed Oct. 5, 2004, the contents of which areincorporated by reference herein.

BACKGROUND

Embodiments of the invention relate generally to communications systems,and more particularly, to methods, systems, and computer programproducts for implementing interactive control of radio and other media.

Continuous advancements made with respect to technologies associatedwith the electronics industry have resulted in significant improvementsin various product features of electronics devices such as personal anddesktop computers, DVD players, and stereo systems, to name a few. Forexample, computer manufacturers now offer increased memory capacity,faster processors, longer battery life, etc. At the same time,electronics manufacturers are continuously striving to reduce theoverall size of many of these devices, without sacrificing any of theseimproved features, in order to satisfy the demand for portability. Aswith standard or traditional electronics devices, portable electronicsdevices such as digital music players, personal digital assistants(PDAs) or ‘pocket PCs’, and the like are becoming increasing popular.Accordingly, electronics manufacturers and various service providers areconstantly searching for new ways to provide value to the consumers ofthese devices in order to gain and maintain a competitive edge overtheir industry counterparts.

Another area that is experiencing growth in technology is the broadcastindustry. The development of new standards in broadcast communicationshave enabled broadcast enterprises to deliver a variety of information,both related and unrelated to a broadcast, along with the actualbroadcast content (e.g., music, audio/video programming, news, etc.). Aslong as the broadcast-receiving device is enabled with the standard, itcan receive, translate, and respond to the delivered information. Forexample, a display on the receiving device (e.g., car stereo) maypresent information relating to content (such as a song) that iscurrently being broadcast such as a station identification of thebroadcasting station, the artist name, and the title of the song, toname a few. Additionally, information unrelated to the content beingbroadcast (such as advertising) may be delivered and presented. Whilehaving this additional information may be useful, the technology doesnot currently support interactive communications between a broadcastrecipient and the sources related to the content broadcast. For example,in response to hearing a song broadcast on a recipient's receivingdevice, the recipient may desire to contact a source to purchase thesong (e.g., via download or placing an order with a music provider) atthe time of the broadcast or shortly thereafter.

It is desirable, therefore, to provide a means for enabling interactivecontrol of radio and other media.

Exemplary embodiments include methods for presenting content to a user,the method comprising: receiving at a content management device contentfrom a plurality of content providers; receiving at the contentmanagement device supplemental programming data from the contentproviders; receiving at the content management device guide programmingdata from a content-independent programming data source; generating aninteractive program guide in response to the supplemental programmingdata and the guide programming data, the interactive program guidepresenting content available to the user.

Exemplary embodiments further include methods for presenting content toa user, the method comprising: receiving at a content management devicecontent from a plurality of content providers; receiving at the contentmanagement device programming data related to the content; generating aninteractive program guide in response to the content and the programmingdata, the interactive program guide presenting content available to theuser; wherein if a content identifier of content received from a contentprovider matches a content identifier of content stored on the contentmanagement device, then an indicator indicating that the content isalready stored on the content management device is associated with thecontent in the interactive program guide.

Exemplary embodiments further include content management devicescomprising: a content receiver receiving content from a content providerand receiving supplemental programming data from the content provider; adata transceiver receiving guide programming data from acontent-independent programming data source; a user interface displaycontroller generating an interactive program guide in response to thesupplemental programming data and the guide programming data, theinteractive program guide presenting content available to the user; adisplay device coupled to the user interface display controller fordisplaying the interactive program guide.

Other systems, methods, and/or computer program products according toexemplary embodiments will be or become apparent to one with skill inthe art upon review of the following drawings and detailed description.It is intended that all such additional systems, methods, and/orcomputer program products be included within this description, be withinthe scope of the present invention, and be protected by the accompanyingclaims.

BRIEF DESCRIPTION OF THE DRAWINGS

Referring now to the drawings wherein like elements are numbered alikein the several FIGURES:

FIG. 1 is a block diagram of a system upon which interactivecontent-based activities may be implemented in exemplary embodiments;

FIG. 2 is a block diagram of a content receiver and its components inexemplary embodiments;

FIG. 3 is a block diagram of a content storage/player and its componentsin exemplary embodiments;

FIG. 4 is a flow diagram of a process for implementing the interactivecontent-based activities in exemplary embodiments;

FIG. 5 is a block diagram of a system for distributing content inexemplary embodiments;

FIG. 6 flow diagram of a process for generating a program guide inexemplary embodiments; and

FIG. 7 illustrates a user interface in exemplary embodiments.

DETAILED DESCRIPTION OF THE INVENTION

In accordance with exemplary embodiments, the interactive content-basedactivities system provides a means by which a recipient of broadcastcontent (also referred to herein as “broadcast”) may initiate areal-time request for an item, service, or information (collectivelyreferred to herein as “activity”) that is associated with the broadcastcontent. Broadcast content may include music, audio/video programming,advertising, news, etc., that is transmitted via, e.g., over-the-airradio frequency (RF) signals, satellite technology, or digitally over anetwork, to name a few. A unique content identifier is assigned to eachbroadcast event and is transmitted together with the broadcast event.Using the content identifier, a recipient of the broadcast content mayinitiate a request for an activity that is related to the broadcastcontent. The request may be initiated during the broadcast or sometimeafter the broadcast has completed.

Referring now to FIG. 1, a block diagram of an exemplary system forimplementing interactive content-based activities is generally shown.The exemplary system of FIG. 1 includes a broadcast host system 102 incommunication with a content receiver 104. Broadcast host system 102provides broadcast content (e.g., music, programming, sports, news,advertising, etc.) to content receiver 104 via a transmissions meanssuch as over-the-air radio frequency (RF) signals or a digital network(e.g., broadband digital subscriber line (DSL)). In addition totransmitting content, broadcast host system 102 also transmitssupplementary content information in the form of digital encodedsignals. The supplementary content information may include for example,the identification of the broadcast host system, theartist/composer/owner of the content, the title of the content, acontent identifier that distinguishes the content from other broadcastitems, etc. Broadcast host system 102 may be a radio station or Internetradio service provider that transmits audio content, a television orother audio/video content service provider, or other similar type ofcontent provider system. Additionally, the content that is broadcast maycomprise any type of media (e.g., video, images, text, etc.).

In accordance with one embodiment, broadcast host system 102 is abroadcast radio station that transmits content via radio frequency (RF)signals. Broadcast host system 102 provides Radio Data System (RDS),Radio Broadcast Data System (RBDS), or similar type of service to itscustomers. For example, in addition to transmitting traditional content(e.g., music, programming, advertisements), radio stations may transmitsupplementary information in the form of encoded digital signals thatare received and analyzed by an RDS/RBDS-enabled receiver. RDS/RBDStechnology enables a receiver to identify the radio station it is tunedinto, offers the ability to pre-select programming types from availablestations (e.g., music only content), a broadcast intercept feature thatprovides traffic advisory information, as well as other capabilities.The RDS and RBDS specifications have been adopted by officialstandardization bodies such as the European Center for ElectrotechnicalStandardization (CENELEC) in Europe, as well as the National RadioSystem Committee (NRSC) of the National Association of Broadcasters®(NAB) and the Electronic Industries Association (EIA) in the UnitedStates.

In exemplary embodiments, content receiver 104 receives broadcastsignals (e.g., RF, data, satellite) from broadcast host system 102,translates the signals, and presents the resulting content to abroadcast recipient. Content receiver 104 may also receive audio contentfrom other broadcast host systems (e.g., multiple radio stations) withinits range. In one embodiment, content receiver 104 is a radio that isbuilt in to an RDS/RBDS-enabled automobile that receives RF signals(e.g., FM) from broadcast host system 102 via a receiver located on theautomobile. Alternatively, the automobile described above with respectto the content receiver 104 may employ a global positioning system (GPS)device whereby broadcast content is transmitted to the content receiver104 via satellite. In other embodiments, content receiver is anRDS/RBDS-enabled home stereo system that receives RF signals frombroadcast host system 102. Content receiver 104 converts the signals toaudio signals and presents the resulting audio content to a listener aswell as the supplementary data facilitated by the RDS/RBDS services. Inyet further embodiments, content receiver 104 may be a television orpersonal computer that receives broadcast content via a network, e.g.,digital subscriber line (DSL) or cable services.

In exemplary embodiments, content storage/player 106 includes anintelligent device that stores and plays recorded or downloaded content.Content storage/player 106 may communicate with content receiver 104 viaa Universal Serial Bus (USB) cable or via wireless technologies, e.g.,Bluetooth™ or short messaging service (SMS). Content storage/player 106may also include input/output controls or options as well as a userinterface for implementing the interactive content-based activities aswill be described further herein. It will be understood that the form ofuser interface may vary from one type of content device to another(e.g., voice prompts and selections via key depressions may be used on acellular telephone, web page user interface screen for a computer user,etc.); however, in exemplary embodiments the functionality of the userinterface remains the same across all content storage/player devices.

Content storage/player 106 may be a portable device that includesdigital recording and playback features such as those provided by, e.g.,an iPod® player by Apple Computer, Inc® of Cupertino, Calif., or aniAUDIO M3® by Cowon Systems, Inc. of Seoul, Korea. In alternateembodiments, content storage/player 106 may be a web-enabled cellulartelephone, personal digital assistant (PDA), a computer, anInternet-enabled television, etc.

Content storage/player 106 may store a variety of content such asdigital games, pictures, and personal data (e.g., calendars, organizers,etc.). Content storage/player 106 may play recorded music in an audioformat such as Moving Picture Experts Group Audio Level 3 (MP3),Advanced Streaming Format (ASF), or WAV.

In yet further embodiments, content receiver 104 and contentstorage/player 106 comprise a single unit. For example, together contentreceiver 104 and content storage/player 106 may comprise a personalcomputer. The personal computer receives broadcast content, e.g.,Internet radio over a packet-switched network. The personal computer mayinclude software for identifying participating Internet radio stationsand receive broadcast content in the form of distributed streamingaudio. The computer may comprise a desktop, laptop, or other similargeneral-purpose computing device known in the art. The computer mayinclude memory (e.g., removable storage media, hard disk drive) forstoring information such as files, documents, images, audio,applications, and multimedia.

Also included in the exemplary system of FIG. 1 is a transaction server110 and storage device 112. Transaction server 110 may communicate withcontent storage/player 106 via a network 108. Content storage/player 106(or both of content receiver 104 and content storage/player 106 if theycomprise a single unit) may communicate with transaction server 110utilizing one or a combination of communications technologies including,e.g., satellite or cellular technology, wireless technologies,circuit-switched networking, and packet-switched networking, amongothers. In exemplary embodiments of the present invention, transactionserver 110 operates as a database server and coordinates access toapplications and data stored on the storage device 112.

The transaction server 110 depicted in the system of FIG. 1 may beimplemented using one or more servers operating in response to acomputer program stored in a storage medium accessible by the server110. The transaction server 110 may operate as a network server (e.g., aweb server) to communicate with requesting devices such as contentstorage/player 106. The transaction server 110 handles sending andreceiving information to and from the content storage/player 106 and canperform associated tasks. The transaction server 110 may also include afirewall to prevent unauthorized access to the server and enforce anylimitations on authorized access. For instance, an administrator mayhave access to the entire system and have authority to modify portionsof the system. A firewall may be implemented using conventional hardwareand/or software as is known in the art.

The transaction server 110 may also operate as an application server.The transaction server 110 executes one or more computer programs (i.e.,an application for implementing the interactive content-basedactivities) to provide the functions described herein. Processing may beshared by the content storage/player 106 and the transaction server 110by providing an application (e.g., java applet) to the contentstorage/player 106. Alternatively, the content storage/player 106 mayinclude a stand-alone software application for performing a portion orall of the processing described herein. As previously described, it isunderstood that separate servers may be utilized to implement thenetwork server functions and the application server functions.Alternatively, the network server, the firewall, and the applicationserver may be implemented by a single server executing computer programsto perform the requisite functions.

The storage device 112 includes data relating to broadcast content,supplementary information such as broadcast sources and contentidentifiers, as well as associated activities and may be implementedusing a variety of devices for storing electronic information. It isunderstood that the storage device 112 may be implemented using memorycontained in the transaction server 110 or it may be a separate physicaldevice. The storage device 112 is logically addressable as aconsolidated data source across a distributed environment that includesnetwork 108. Information stored in the storage device 112 may beretrieved and manipulated via the transaction server 110. In exemplaryembodiments, storage device 112 stores tables of content identifiers andassociated information for implementing the interactive content-basedactivities. Content identifiers are associated with specific broadcastcontent and are also mapped to specific activities. The activities areimplemented in response to requests received via the correspondingcontent identifiers. The following table illustrates a sample table.

Content_ID BROADCAST ACTIVITY MU1000893 Song Download Song fileMU1006199 Advertisement Purchase concert tix MU6974448 Station promotionEnter Contest

Referring to the above table, a broadcast recipient hears a song that isreceived along with a corresponding content identifier “MU1000893”. Therecipient transmits a request to server 110 that includes the contentidentifier. The transaction server 110 maps the content identifier tothe activity “Download Song file”. The transaction server 110 thenimplements the request by enabling the recipient to download the songheard in the broadcast to the content storage/player 106. Details ofthis process are described further in FIG. 4.

As indicated above, the system of FIG. 1 also includes a network 108.The network 108 may be any type of known network including, but notlimited to, a wide area network (WAN), a local area network (LAN), aglobal network (e.g. Internet), a virtual private network (VPN), and anintranet. The network 108 may be implemented using a wireless network orany kind of physical network implementation known in the art.

It will be understood that other types of content storage/players (e.g.,digital cameras, personal video recorders, etc.) may also be utilized inimplementing the interactive content-based activities. Accordingly, thecontent devices described above with respect to the system of FIG. 1 areprovided for illustrative purposes and are not to be construed aslimiting in scope.

Turning now to the block diagram of FIG. 2, an exemplary contentreceiver and its components will now be described. Content receiver 104includes a display means 202 for presenting information (includingsupplementary information) relating to a broadcast to a recipient. Abroadcast receiver 204 receives and translates broadcast signals,including the supplementary data, that are transmitted usingover-the-air RF signaling means 210 or may be data signals (e.g., datapackets) that are transmitted using, e.g., a packet-switched network212. Broadcast receiver 204 then sends the translated supplemental datato the display means 202. As shown in the diagram of FIG. 2,supplementary information presented in display means 202 includes anartist name, song title, and station identification. Optionally, thecontent identifier of the current broadcast event may be displayed.

The content identifier of a current broadcast, as well as othersupplementary information, may be stored in memory 204 residing withincontent receiver 104. Alternatively, a log of recently broadcast contentidentifiers may be stored in memory 208. Content receiver 104 alsoincludes a local data transceiver 206 that communicates with contentstorage/player 106 via wireless means (e.g., short messaging service,Bluetooth™, etc.) 214 or may communicate with content storage/player 106via wireline means (e.g., USB cable) 216.

An exemplary diagram of a content storage/player will now be describedwith respect to FIG. 3. Content storage/player 106 includes a displaymeans 302, a memory 308, a local data transceiver 306, and a networkdata transceiver 304. As described above, content storage/player 106 maycommunicate with content receiver 104 via wireless means (e.g., shortmessaging service, Bluetooth™, etc.) 214 or may communicate with contentreceiver 104 via wireline means (e.g., USB cable) 216. Thiscommunication is facilitated by the local data transceiver 306 ofcontent storage/player 106.

Memory 308 may store content in accordance with the type of contentstorage/player 106 being utilized (e.g., a digital music player storingaudio content, a personal computer storing video, etc.). Memory 308 mayalso store an executable application for implementing the interactivecontent-based activities described herein. Memory 308 may communicatewith display 302 when a recipient initiates a request via input controlson content storage/player 106. Network data transceiver 304 communicateswith transaction server 110 over a wireless network 314 or wirelinenetwork 316 similar to those described above.

An exemplary process for implementing the interactive content-basedactivities will now be described with respect to FIG. 4. For purposes ofillustration, the processes described with respect to FIG. 4 refer tobroadcast content consisting of music and the requested activity refersto a request to download a song file. However, it will be understood bythose skilled in the art that any type of broadcast content and/oractivity may be applied to the processes described herein.

At step 402, a broadcast is received by content receiver 104 frombroadcast host system 102. In addition to the subject content (e.g.,song), the broadcast content also includes supplementary information(e.g., the identification of the broadcast host system, theartist/composer/owner of the content, the title of the content, acontent identifier that distinguishes the content from other broadcastitems, etc.) via RDS/RBDS or other technologies. Content receiver 104stores the content identifier at step 404 and may also store a log ofrecent broadcasts which includes one or more of the above associatedsupplemental information items. The content identifiers are each mappedto the broadcast and an activity and are stored in one or more tables instorage device 112.

When an individual is interested in an activity associated with abroadcast, the individual selects an option on the contentstorage/player 106 in order to obtain the corresponding contentidentifier at step 406. Upon selecting the option, the contentstorage/player 106 initiates a communication session with the contentreceiver 104 via communications means 214 or 216, requesting the currentcontent identifier (if the broadcast is currently underway) or mayoptionally request the log from the memory 208 in content receiver 104.At step 408, the individual selects the desired content identifier fromthe log that is shown in the display 302 of content storage/player 106.

An option exists for the individual to then initiate a requestassociated with the content identifier. For example, a request option310 “Download Now” is shown on display 302 for selection by a recipient.Upon selecting this option, the content storage/player 106 initiates asession over network 108 via communications means 314 or 316 andcontacts transaction server 110 at step 410. Transaction server 110performs a search of storage device 112 using the content identifier asa key at step 412. The activity or item mapped to the content identifieris retrieved at step 414. Transaction server 110 responds to the requestin accordance with the requirements defined for the activity. By way ofthe example above, the recipient downloads the requested song.

FIG. 5 is a block diagram of a system for distributing content inalternate exemplary embodiments. The system includes a wireless contentmanagement device 700 that receives, stores and plays content. Thecontent management device 700 may be a mobile device which is used by auser in a car, on their person, etc. As described in further detailherein, the content management device 700 allows a user to receivecontent and enables numerous operations related to content storage,retrieval, purchase, etc.

Content providers 502 may represent existing sources for live contentsuch as broadcast systems (AM, FM, satellite) with supplementalprogramming data (e.g., FM radio with Radio Data System (RDS)). Thesupplemental programming data may include a station identifier, artist,title, content identifier, begin/end timestamps, etc.Content-independent programming data source 504 provides guideprogramming data which may include station identifier, artist, title,content identifier, begin/end timestamps, etc. that is not associatedwith any one content provider 502 (e.g., similar to a listing ofprogramming for television). Rather, the content-independent programmingdata source 504 provides guide programming data associated with a numberof content providers. The supplemental programming data and guideprogramming data are used to generate a program guide as described infurther detail herein.

A data network 606 communicates content data to the content managementdevice 700. As described in further detail herein, the content data mayinclude content files corresponding to the broadcast (e.g., mp3 songs,podcasts) or may be other types of data (e.g., graphics of albumcovers). The data network 606 may be any type of network such as a LAN,WAN, Internet, etc. accessed by the content management device 700 usingwireless network standards (e.g., WiFi, 802.11). A content distributionapplication 604 is in communication with the data network 606. Thecontent distribution application 604 may be implemented by a serverexecuting a computer program for receiving requests for content data anddelivering the content data, along with handling any associated billingfor delivering the content data. Existing systems, such as the iTunesservice, may serve as the content distribution application 606. Acollection of content files 602 is stored on a database accessible bythe content distribution application 604. When a user of the contentmanagement device 700 obtains content data, the content data isretrieved from the content files 602 by the content distributionapplication 604 and delivered to the content management device 700 overdata network 606.

The content management device 700 includes a display 702 for displayingan interactive user interface to the user. The display 702 may be atouch screen that allows the display to receive inputs from the user.Alternatively, other user inputs may be provided on the contentmanagement device 700. The user interface is described in detail hereinwith reference to FIG. 7. Speakers 704 present content to the user andmay be speakers internal to the content management device 700 orexternal speakers (e.g., automobile speakers). A media presentationmodule 708 is a user interface that allows the user to select differentcontent for presentation, such as switching between broadcast radiostations and/or broadcast bands, CDs, mp3s, etc.

A user interface display controller 706 receives multiple feeds ofprogramming data from content receivers 712 and/or data transceiver 714as described herein. The programming data identifies current and futurecontent that is available to the user. The user interface displaycontroller 706 collects the programming data and formats it into theprogram guide presented on the display. The user interface displaycontroller 706 also receives user inputs (e.g., from the display 702 ifa touch screen) or other user input devices (e.g., radio buttons) andreformats the program guide in response to the user input or initiatesother processes (e.g., acquiring content) in response to the user input.

A processor 710 executes an operating system for the content managementdevice 700 and implements functions described herein. The processor 710may be a general-purpose microprocessor executing computer program codestored in the content management device 700. Processor 710 communicateswith the other components of the content management device 700 tocoordinate processes described in further detail herein.

Content receivers 712 receive content from content providers 502. Thecontent receivers may be AM/FM broadcast receivers, satellite receivers,etc. Additionally, the content receivers 712 may receive supplementalprogramming data communicated along with content from the contentproviders 502.

A data transceiver 714 receives guide programming data from thecontent-independent programming data source 504 and receives contentdata from data network 606. The data transceiver 714 may communicatewith the content-independent programming data source 504 and datanetwork 606 using known wireless network connectivity techniques (e.g.,WiFi).

Memory 716 in the content management device 700 provides storage forcontent data and also stores user profile data. The user profile data inmemory 716 contains user-defined preferences for content to be selectedby the content management device 700 and presented to the user. Asdescribed in detail herein, the user can specify content preferences inmemory 716 which then directs the content receivers 712 to scan forcontent meeting those preferences.

Selection of content will now be described with reference to FIG. 6.FIG. 6 is a flowchart of a process for selecting content by the contentmanagement device 700. At step 810, the content management device 700determines if the user has selected an entry from the user-profile datain memory 716. If not, the content management device 700 operates in amanual mode at step 812, similar to a conventional radio, in which theuser can select content (e.g., broadcast radio stations) through knowntechniques (e.g., tune, scan, preset buttons).

If the content management device 700 is not in manual mode, the flowproceeds to step 814 wherein the processor 710 compares selecteduser-defined preferences to programming data provided by the contentproviders 502 and content-independent programming data source 504. Forexample, the user may select a user-defined preference for music in therock genre. The processor 710 examines the available programming data todetermine if any available content providers are playing music meetingthe rock genre. The content receivers 712 may scan across multiplefrequencies to identify multiple content providers 502 providing rockmusic.

Once the content providers 502 providing content matching theuser-defined preference are identified, flow proceeds to step 816 wherethe content providers are prioritized based on one or more criteria.First, the signal strength of the received content may be used toprioritize content providers, where higher signal strength receiveshigher priority. Second, how well the programming data matches theuser-defined preferences can be used to prioritize content providers.

Once the content providers are prioritized, flow proceeds to step 818where the content from the content providers 502 is presented as aprogram guide on a user display 702, in the prioritized order. FIG. 7illustrates an exemplary user interface provided on display 702. Asshown in FIG. 7, available content 910 is identified in a portion of thedisplay. The available content includes content from content providers502 and content stored in memory 716 (e.g., podcasts). For eachavailable content 910, the current and future content is presented bytitle along a time axis including time indicators 912. A current timeindicator 914 displays the current time and includes a line 916perpendicular to the time axis. The user interface is built usingprogramming data received from the content providers 502 and/or thecontent-independent programming data provider 504. The supplementalprogramming data received from the content providers 502 may include, atleast, a station identifier, artist, title, content identifier (e.g., aunique identifier assigned to each content) and begin/end timestamps.The supplemental program data received from the content-independentprogramming data providers 504 may include similar information.

The content receivers 712 receive supplemental programming data fromcontent providers 502 and data transceiver 714 receives the guideprogramming data from content-independent programming data provider 504.If there are inconsistencies between the two sources of programmingdata, supplemental programming data from the content providers 502 canoverride the guide programming data from the content-independentprogramming data provider 504. The streams of programming data areprovided to the user interface display controller 706, which thenformats the programming data into the program guide. As described abovewith reference to FIG. 6, the available content may be arranged in theprogram guide based on priority. Further, content stored in memory 716may be presented on the program guide as content that is available forpresentation to the user. For example, as shown in FIG. 6, the memory716 includes two podcasts that the user may select for presentation.

The user can view current content and future content on the programguide and select content for presentation from the display 702, whichmay be a touch screen. It is understood that other user input devicesmay be used to select content from the program guide. A number offunctions are enabled through the program guide of FIG. 6 as describedherein. A buy now icon 920 is presented when content is available forpurchase by the user. This functionality is described above withreference to FIGS. 1-4, and is not repeated.

For content that is already stored in memory 716, an owned icon 922 ispresented adjacent the content title in the program guide. The userinterface display controller 706 compares content identifiers from thesupplemental program data to content identifiers for content stored inmemory 716. If there is a match, this indicates that the user alreadyhas the content stored in memory 716. In this situation, the userinterface display controller 706 superimposes the owned icon 922 on thecontent listing in the program guide. This alerts the user that theyalready own the content, so that they do not re-purchase the contentunnecessarily.

Content from the content providers 502 may also be associated with acontent provider allowing listeners to call the content provider (e.g.,contests, voice an opinion). The supplemental programming data thataccompanies content includes call-in information including a flag thatcall-in is permissible and a phone number for calling in. The userinterface display controller 706 detects this supplemental programminginformation and generates a call-in icon 924. The user interface displaycontroller 706 superimposes the call-in icon 924 on the content listingin the program guide.

If the user selects the call-in icon on the program guide (e.g., via atouchscreen or other input device) the processor 710 provides thecall-in number to a communication device coupled to the contentmanagement device 700 to initiate the call. For example, the contentmanagement device 700 may provide the call-in number to an in-carwireless phone to initiate a call to the content provider 502 via acellular network. Alternatively, the call may be a voice-over IP (VOIP)call-initiated through data transceiver 714. Further, the caller's voicemay be converted to text to be used in a data text message over network606 to a specified data address.

Content presented in the program guide may also be associated withadditional action icon 926. The additional action icon 926 is presentedwhenever one or more additional actions are available with respect tothe content. The additional actions may be enabled by the contentmanagement device 700 alone or may require interaction of the contentmanagement device 700 with external data sources. Upon selection of theadditional action icon 926, the user interface display controller 706generates a pop up menu 930 listing available additional actions. It isunderstood that not every additional action shown in FIG. 7 will beavailable for all content.

Menu 930 lists available actions that the user can select through thedisplay 702 (e.g., touchscreen display) or another user input device. Ifthe user selects “bring to top” from menu 930, the content identifierassociated with the content is marked as a favorite and stored in memory716. When the user interface display controller 706 presents subsequentprogram guide displays, it searches for matches with previously savedfavorites in memory 716 and, if detected, presents the content higher orat the top of the program guide. The content designated as a favoritemay optionally be highlighted with special visual effects in the programguide. The additional action icon 926 may also be used to cancel afavorite designation for content by deleting the content identifier fromthe favorites in memory 716.

Another action available through menu 930 is a buy now feature. Asdescribed above, this feature allows the user to purchase the contentand download the content to memory 716. This functionality is describedabove with reference to FIGS. 1-4, and is not repeated.

Another option available through menu 930 is a “buy 3 plays” option,also referred to as a rent content option. Selection of the rent contentoption initiates downloading content in a manner similar to thatdescribed with respect to buying content. In the rent content scenario,however, the content is associated with a limited use license thatlimits the number of times the content can be played. The rented contentfile is stored in memory 716 along with a limited use indicator thatmarks the content file unavailable after a predefined number of plays.Likewise, this process can be used to renew a rental to buy more playsof the content. When renewing rented content, the limited use indicatorassociated with a content file in memory 716 is reset to allowadditional playing of the content.

Another option available through menu 930 is a change to station onstart action. Selection of this option for a selected content identifierresults in the station identifier for the upcoming content to be savedalong with the beginning timestamp of the upcoming selected content. Forexample, referring to FIG. 7, if Bad Day by Daniel Powter has beenselected using this option, the station identifier of FM 100.5 is storedalong with the time stamp indicating the beginning of the content, e.g.,4:08 pm. At the time indicated, the media presentation module 708selects the station identifier specified for presentation of the contentvia the display 702 and speakers 704.

Another option available through menu 930 is a record action. Selectionof the record option begins immediate or delayed recording of theselected content to local memory 716.

Another option available through menu 930 is a more information action.Selection of the more information action results in a visualpresentation on the display 702 of additional information about thecurrent content. The additional information may include items such asrelease date of a song, artist, record label, album cover artwork, etc.The additional information may already be associated with the contentcontained in supplemental programming data transmitted with the contentor stored in memory 716. Alternatively, the additional information maybe retrieved via data transceiver 714 via data network 606. The datatransceiver 714 can send the content identifier to a source of content,such as content distribution application 604, to retrieve the additionalinformation. The user interface display controller 706 then presents theadditional information on display 702. Other forms of additionalinformation include web related information. For example, during abroadcast of a sporting event, player statistics, box scores, gamecasts,etc. may be accessed via data network 606.

As described above, embodiments may be in the form ofcomputer-implemented processes and apparatuses for practicing thoseprocesses. In exemplary embodiments, the invention is embodied incomputer program code executed by one or more network elements.Embodiments include computer program code containing instructionsembodied in tangible media, such as floppy diskettes, CD-ROMs, harddrives, or any other computer-readable storage medium, wherein, when thecomputer program code is loaded into and executed by a computer, thecomputer becomes an apparatus for practicing the invention. Embodimentsinclude computer program code, for example, whether stored in a storagemedium, loaded into and/or executed by a computer, or transmitted oversome transmission medium, such as over electrical wiring or cabling,through fiber optics, or via electromagnetic radiation, wherein, whenthe computer program code is loaded into and executed by a computer, thecomputer becomes an apparatus for practicing the invention. Whenimplemented on a general-purpose microprocessor, the computer programcode segments configure the microprocessor to create specific logiccircuits.

While the invention has been described with reference to exemplaryembodiments, it will be understood by those skilled in the art thatvarious changes may be made and equivalents may be substituted forelements thereof without departing from the scope of the invention. Inaddition, many modifications may be made to adapt a particular situationor material to the teachings of the invention without departing from theessential scope thereof. Therefore, it is intended that the inventionnot be limited to the particular embodiments disclosed for carrying outthis invention, but that the invention will include all embodimentsfalling within the scope of the claims.

What is claimed is:
 1. A method for presenting content on a user mobiledevice, the method comprising: receiving, by the user mobile device,multiple feeds of the content that are broadcast from a plurality ofcontent providers; receiving, by the user mobile device, supplementalprogramming data broadcast from the plurality of content providers;receiving, by the user mobile device, guide programming data broadcastfrom a content-independent programming data source; and generating, bythe user mobile device, an interactive program guide in response to thesupplemental programming data and the guide programming data, theinteractive program guide presenting the multiple feeds of the contentavailable to a user.
 2. The method of claim 1, wherein the user mobiledevice is a cellular telephone using cellular technology.
 3. The methodof claim 1, further comprising resolving, by the user mobile device, aconflict between the supplemental programming data from the plurality ofcontent providers and the guide programming data from thecontent-independent programming data source by using the supplementalprogramming data from the plurality of content providers instead of theguide programming data from the content-independent programming datasource to generate the interactive program guide.
 4. The method of claim1, wherein the multiple feeds of the content that are broadcast from theplurality of content providers to the user mobile device are separatefrom an internet connection to the user mobile device.
 5. The method ofclaim 1, wherein receiving at the user mobile device the multiple feedsof the content from the plurality of content providers includesaccessing user profile data, comparing the supplemental programming datato the user profile data, and altering a presentation of the interactiveprogram guide based on matching characteristics between the user profiledata and the supplemental programming data; and wherein the content isarranged in the interactive program guide in response to a degree ofmatch between the user profile data and the supplemental programmingdata.
 6. The method of claim 1, wherein the interactive program guidepresenting the content available to the user includes presenting storedcontent stored on the user mobile device.
 7. The method of claim 1,further comprising when a content identifier of the content receivedfrom a content provider matches a content identifier of stored contentstored on the user mobile device, associating an indication indicatingthat the stored content is already stored on the user mobile device withthe content in the interactive program guide.
 8. The method of claim 1,wherein the supplemental programming data from a content providerincludes call-in information; and wherein generating the interactiveprogram guide includes displaying a call-in availability indicationassociated with the content for which call-in is available.
 9. Themethod of claim 8, further comprising initiating a call to the contentprovider providing the content for which call-in is available uponreceipt of a user selection of the call-in availability indication. 10.The method of claim 1, further comprising presenting an additionalaction indicator associated with the content and initiating anadditional action upon receipt of a user selection of the additionalaction indicator.
 11. The method of claim 10, wherein the additionalaction includes marking the content as a favorite; and whereingenerating the interactive program guide includes placing the contentmarked as the favorite at a preferred location in the interactiveprogram guide.
 12. The method of claim 10, wherein the additional actionincludes initiating a request for downloading the content to the usermobile device; and wherein the request is for a limited number of playsof the content downloaded.
 13. The method of claim 10, wherein theadditional action includes selecting future content, storing a stationidentifier for the future content and a start time for the futurecontent, and playing by the user mobile device the future content when acurrent time matches the start time.
 14. The method of claim 10, whereinthe additional action includes recording the content as received on theuser mobile device; and wherein the additional action includes a requestfor acquiring additional information related to the content upon theuser selection of the additional action indicator.
 15. The method ofclaim 1, wherein the content includes content broadcast via radio.
 16. Acomputer program product, tangibly embodied on a computer readablemedium, for presenting content, the computer program product includinginstructions that, when executed by a user mobile device, cause the usermobile device to perform operations comprising: receiving, by the usermobile device, multiple feeds of the content that are broadcast from aplurality of content providers; receiving, by the user mobile device,supplemental programming data broadcast from the plurality of contentproviders; receiving, by the user mobile device, guide programming databroadcast from a content-independent programming data source; andgenerating, by the user mobile device, an interactive program guide inresponse to the supplemental programming data and the guide programmingdata, the interactive program guide presenting the multiple feeds of thecontent available to a user.
 17. The computer program product of claim16, wherein the user mobile device is a cellular telephone usingcellular technology.
 18. An apparatus for a user mobile device, theapparatus comprising: a processor; and memory comprisingcomputer-executable instructions that, when executed by the processor,cause the processor to perform operations comprising: receiving, in theuser mobile device, content broadcast from a plurality of contentproviders; receiving, in the user mobile device, supplementalprogramming data broadcast from the plurality of content providers,wherein the user mobile device is a cellular telephone using cellulartechnology; receiving, in the user mobile device, guide programming databroadcast from a content-independent programming data source;generating, in the user mobile device, an interactive program guide inresponse to the supplemental programming data and the guide programmingdata, the interactive program guide presenting the content available toa user; and displaying the interactive program guide.
 19. The apparatusof claim 18, wherein the user mobile device resolves a conflict betweenthe supplemental programming data from the plurality of contentproviders and the guide programming data from the content-independentprogramming data source by using the supplemental programming data fromthe plurality of content providers instead of the guide programming datafrom the content-independent programming data source to generate theinteractive program guide.
 20. The apparatus of claim 18, wherein audioof the content plays sound through vehicle speakers in a vehicle.